#ifndef PSD_ROUTE_H
#define PSD_ROUTE_H

#include "../libradix/radix.h"

/*
 *  int psd_route_init():
 *      This function initializes the routing structure
 */
int psd_route_init();

/*
 *  const char *psd_route_lookup(char *depot_id):
 *      This function looks up if a better route is known for the specified
 *      depot
 */
const char *psd_route_lookup(const char *depot_id);

/*
 *  int psd_route_read(const char *filename):
 *      This function reads in a list of addr/masks and depots and replaces its
 *      current route structure with the one specified in the file.
 */
int psd_route_read(const char *filename);

/*
 *  int psd_route_add(char *addr_mask, char *depot_id):
 *      This function adds a route to the route structure
 */
int psd_route_add(const char *addr_mask, const char *depot_id);

/*
 *  int psd_route_remove(char *addr_mask):
 *      This function removes a route from the route structure
 */
int psd_route_remove(const char *addr_mask);

#endif
